#ifndef GRAPHEDGE_H
#define GRAPHEDGE_H

#include "Vec3.h"
#include "MazeTypes.h"

class GraphEdge
{
public:
	GraphEdge();
	GraphEdge(CellPosition start, CellPosition end, float cost);

	void SetCost(float cost);
	float GetCost();

	void SetStartId(CellPosition id);
	CellPosition GetStartId();

	void SetEndId(CellPosition id);
	CellPosition GetEndId();

	void SetVisited(bool b);
	bool GetVisited();
		
	//bool operator <(const GraphEdge& other) const // map id comparison
	//{
	//	return (m_cost < other.m_cost);
	//}

private:
	float m_cost;
	CellPosition m_startId;
	CellPosition m_endId;

	bool m_visited;
};

#endif GRAPHEDGE_H